package com.cloudlinkscm.base.authcenter.service;

import com.cloudlinkscm.base.authcenter.model.PublicResource;
import com.cloudlinkscm.base.authcenter.model.dto.PublicResourceSaveDTO;
import com.cloudlinkscm.base.authcenter.model.dto.PublicResourceUpdateDTO;
import com.cloudlinkscm.base.authcenter.model.dto.ResourceTree;

import java.util.List;

/**
 * Created by sin on 2017/8/7.
 */
public interface PublicResourceService {

	/**
	 * 公共资源：保存
	 *
	 * @param saveDTO 需要保存的信息
	 * @return 返回影响的条数
	 */
	PublicResource save(PublicResourceSaveDTO saveDTO);

	/**
	 * 公共资源：更新
	 *
	 * @param updateDTO 需要更新的数据
	 * @return 返回影响的条数
	 */
	PublicResource update(PublicResourceUpdateDTO updateDTO);

	/**
	 * 公共资源：删除
	 *
	 * @param id 删除的 id
	 * @return 返回影响的条数
	 */
	int remove(String id);


	/**
	 * 公共资源：tree
	 *
	 * <p>
	 *     一次性返回所有节点
	 * </p>
	 *
	 * @return 返回全部的 tree 节点
	 */
	List<ResourceTree> tree();
}
